02. 显示仓库的 commit

提示:在第 2 节课,你使用 git clone 克隆了博客项目。我们将在这节课用到该项目。如果你在上节课没有克隆该项目,则运行以下命令来获得该项目:

$ git clone https://github.com/udacity/course-git-blog-project

克隆之后,别忘了 cd 到该项目。

如果遇到问题,请参阅 克隆现有仓库相关概念 或在 论坛 上咨询他人!

首要任务

克隆博客项目仓库后,使用命令行转到项目的目录下。当你位于博客项目中时,你应该在 git 仓库中首先执行什么?

SOLUTION: 运行 `git status` 命令

_终端显示了 `git status` 命令的输出结果。_

终端显示了 git status 命令的输出结果。

git status 和打开项目

你可以看到 git status 的输出结果是:"nothing to commit, working directory clean",意味着我们可以继续并检出该项目了!

在你喜欢的代码编辑器中打开该项目。花几分钟时间看看项目,包括 CSS 和 JavaScript 文件,但是重点看一下 HTML 文件。

_在代码编辑器中打开了课程的博客项目。正在显示 `index.html` 文件。_

在代码编辑器中打开了课程的博客项目。正在显示 index.html 文件。

何时添加的标题?

看看 index.html 文件中第 15 行的 <h1>Expedition</h1> 标题。

根据你所看到的内容,你觉得该标题是何时被添加的?

SOLUTION: 只看代码的话,不知道是什么时候。

谁添加了这个标题?

所以我们不确定何时添加的标题。那么,再回答一个更简单的问题:谁添加了这个标题?或者说,你能在只看代码的情况下告诉我是谁添加的吗?

SOLUTION: 不清楚

git log 命令

要回答这些问题,就要用到 git log 命令!与其逐条解释它的所有作用,不如直接体验一下吧!请在终端运行 git log 命令:

$ git log

终端应该显示以下界面。

_终端显示了 `git log` 命令的输出结果。_

终端显示了 git log 命令的输出结果。

Nd016 WebND Ud123 Gitcourse BETAMOJITO L3 11 git log 输出说明

了解日志内容

如果你不习惯在命令行上使用分页器,那么 less(英) 用起来会比较奇怪。以下是一些实用技巧:

  • 向下 滚动,按下

  • j 一次向下移动一行

  • d 按照一半的屏幕幅面移动

  • f 按照整个屏幕幅面移动

  • 向上 滚动,按上

  • k 一次向上移动一行

  • u 按照一半的屏幕幅面移动

  • b 按照整个屏幕幅面移动

  • 按下 q 可以 退出 日志(返回普通的命令提示符)

在进行 commit 时,git 会记录大量信息。看看你能否通过 git log 回答以下问题!

谁提交了 commit?

使用 git log 查找 SHA 以 f9720a 开头的 commit。谁提交了这条 commit?

SOLUTION: Richard Kalehoff

消息是什么?

QUESTION:

使用 git log 查找 SHA 以 8aa6668 开头的 commit。这条 commit 的消息是什么?

SOLUTION:

NOTE: The solutions are expressed in RegEx pattern. Udacity uses these patterns to check the given answer

何时提交的 commit?

使用 git log 查找 SHA 以 f9720a9 开头的 commit。这条 commit 是何时提交的?

SOLUTION: Mon Dec 5 10:11:51 2016

SHA 是什么?

QUESTION:

使用 git log 查找消息是 Set article timestamp color 的 commit。这条 commit 的 SHA 是多少?请提供该 SHA 的前 7 个字符。

SOLUTION:

NOTE: The solutions are expressed in RegEx pattern. Udacity uses these patterns to check the given answer

git log 小结

很棒!是不是觉得掌握的 git 知识越来越多了?

我们快速总结下 git log 命令。 git log 命令用于显示仓库中所有 commit 的信息。

$ git log

默认情况下 ,该命令会显示仓库中每个 commit 的:

  • SHA

  • 作者

  • 日期

  • 消息

    我强调了“默认情况下”是因为 git log 命令显示的信息远不止这些。

git 使用命令行分页器 less 浏览所有信息。以下是 less 的重要快捷键:

  • 要按行向下滚动,使用 j

  • 要按行向上滚动,使用 k

  • 要按页向下滚动,使用空格键或 Page Down 按钮

  • 要按页向下滚动,使用 b 或 Page Up 按钮

  • 要退出,使用 q

我们将在下节课中提升我们的 git log 使用技巧以显示更多信息。

还在等什么呢?点击下面的链接转到下节课吧!